/**
 * 计算分割值 （感觉还是有Bug）
 * @param min 最小值
 * @param max 最大值
 * @param split 分割次数
 * @param value 基础值
 * @param unit 递增单位
 */
export function SplitNumber(min: number, max: number, split: number, value: number, unit: number): number[] {
	if (split <= 0) { return []; }
	else if (unit <= 1) { throw new Error("分割递增单位(unit) 不能小于1"); }
	const space = max - min;
	let temp = value;
	while (true) {
		const split_len = space / temp;
		if (split_len > split) {
			if (space >= temp * unit) {
				temp *= unit;
			} else {
				temp *= unit / 2;
			}
		} else {
			if (split_len <= split / 2) {
				if (temp / 2 > value) {
					temp /= 2;
				} else {
					break;
				}
			} else {
				break;
			}
		}
	}
	const number = temp;
	const valieList = [];
	const left_ceil = min - min % number;
	for (let i = -split; i < split * 2; i++) {
		const save = left_ceil + number * i;
		if (save < min) {
			continue;
		}
		if (save > max) {
			break;
		}
		valieList.push(save);
	}
	return valieList;
};
